/*
    Clase madre de EmisorDelta y ReceptorDelta.
    Creada para agrupar funcionalidad común.
*/

#ifndef DELTAHASHES_INCLUDED
#define DELTAHASHES_INCLUDED

#include <list>
#include <math.h>
#include <fstream>
#include <iostream>

#include "MD5.h"
#include "ADLER32.h"
#include "MyException.h"

#include "Diferencial.h"
#include "LectorDeSegmento.h"

#include "DatosTrasmitidos.h"
#include "HexABin.h"
#include "ObtenerContenidosArchivo.h"
#define TAM_PEDAZO 5

class DeltaHashes{
    protected:
    std::string RutaFile;
    unsigned int FileSize;
    public:

    DeltaHashes(){}
    virtual ~DeltaHashes(){};

    void Iniciar(const char* ar);

    //emisor y receptor deben implementar segun lo que necesiten
    virtual void CalcularHashesVarios()=0;
    virtual unsigned int getCantDePedazos()=0;

};

#endif // DELTAHASHES_INCLUDED
